home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_09_10
/
9n10077b
< prev
next >
Wrap
Text File
|
1991-08-20
|
948b
|
48 lines
/*
* func_arg.c
* Jerzy Tomasik, 20-Jul-1991
* Stack usage during function calls
* in a C program
*/
#include <stdlib.h>
#include <stdio.h>
struct big_struct
{
char array[1024];
};
/* A copy of big_struct is passed to this function
* on the stack, 1024 bytes of stack space are
* used to store the copy. The function does not
* have access to the original structure
*/
void by_value(struct big_struct big, int dummy)
{
}
/* An address of big_struct is passed to this function.
* This uses only 2 bytes of stack space (under small
* memory model), but any changes to the structure
* will be reflected in the original. This is NOT
* a copy!
*/
void by_address(struct big_struct *big, int dummy)
{
}
int main(void)
{
struct big_struct big;
int dummy;
by_value(big, dummy);
by_address(&big, dummy);
return(0);
}